You have to hit all of them, and sometimes another will appear after you have hit the previous. Anyway, I haven't looked up about this stage, but I bet I know the problem: There are six Pokemon that can be obtained in a course, and 3 of them are chosen at the beginning. These will be the only ones you can get on that stroll. You'll need to come back from the stroll and retry another time, hoping for the best.
EDIT: Just looked it up now, and I can confirm that Ponyta and Machop are in the same group. I didn't mention groups before, but just to keep this simple, the fact that they are in the same group means you can only find one or the other on a stroll.