I'd have the codes checked. Even if the check engine light isn't on there could still be codes set.
There are a lot of things that can cause this type of problem. Some of them are things like low fuel pressure, egr valve problems, etc. There really is no way to know without testing it.