Possible Causes of Engine Hesitation or Stumble:
Dirty fuel injectors (cleaning the injectors often fixes this).
Bad MAP (manifold absolute pressure) sensor
Bad TPS (throttle position) sensor
Bad or dirty MAF (mass airflow) sensor
Low fuel pressure (leaky fuel pressure regulator or weak fuel pump)
Vacuum leaks (intake manifold, vacuum hoses, throttle body, EGR valve)
Bad gasoline (fuel contaminated with water or too much alcohol)
Sometimes, what feels like a hesitation is actually ignition misfire rather than lean misfire. The causes of ignition misfire may include:
Dirty or worn spark plugs
Bad plug wires
Weak ignition coil
Wet plug wires
A scan tool that can display sensor data and fuel trim values can help you diagnose a hesitation problem.
Diagnose may require checking the engine computer with a scan tool for any fault codes (including misfire codes), checking sensor response with a scan tool by looking at the various sensor PIDS (sensor values displayed on the scan tool), and testing sensors with a DVOM or scope if the values are out of range or the sensor is not responding normally. Additional diagnostic checks may include searching for vacuum leaks, inspecting/cleaning the EGR valve, measuring fuel pressure and volume, removing and inspecting the spark plugs, etc.
You can use a scan tool to check the fuel trim readings to see if the engine is running lean. Lean mixtures that are caused by vacuum leaks will have the most noticeable effect at idle. At part and full throttle, there is so much air entering the engine that a little extra air from a vacuum leak has a negligible effect.