There are a million reasons for this. I agree with the responses below that you should see the pediatrician (and you could easily have called over the weekend - there's a 24 hour advice line). Ginger ale, popsicles, chicken broth, maybe jello, and some Pedialyte for electrolytes - anything to keep him hydrated, but in very small amounts. No dairy, at all, no mater what he says. If he really wants to eat, you can try some cheerios or toast with a little jelly in extremely small doses and only if he has no thrown up for a while. Wait an hour after vomiting for liquids, and wait 3 hours before eatng solid food.
I see that he's okay during the day until mid-late afternoon, so he doesn't have some raging and horrible disease, but he's tired and running out of gas easily. If he has allergies, he may also have a ton of post nasal drip going into his stomach, and that can make kids nauseated at well. It may not be the entire reason, but it could be a contributing factor.