I would double check the "Setup" tab of your email report and click into "Selected Emails". Make sure you are selecting the appropriate programs by expanding the folders in the list. If all the emails are assets of those programs, you'll be fine by just selecting the parent program itself.
Do you have a screen shot of the flow step and the smart list?
Did you check to make sure there were members of the ES program?
Does the smart list say was sent email X? And it was the intended email?
I'm sure you've checked all these things. But sometimes the devils in the details.
We ran a subject line A/B test in the ES program - now there's another email titled "subject line test" - which I assume is the correct email to use in the smart list; however, I'm seeing this email after the program campaign executes.