I would check the fuel pressure regulator. It is located on the fuel rail. It is round, about a quarter size and has a vacuum line going to it. If the regulator is leaking gas than it can cause this problem. Pull off the vacuum line that goes to the regulator. Be absolutely sure there is no gas in the vacuum line. If there is, the diaphragm has ruptured and there is gas entering the engine that is not accounted for and the regulator will need to be replaced!
Also, you might have an air or a vacuum leak. This is very common! Open the hood and listen for a hissing sound when the engine is running.
Unmetered air can enter the engine through a vacuum leak, a dirty airflow sensor that is not reading airflow accurately, A cracked or ripped air snorkel, an EGR valve is not closing and is leaking exhaust into the intake manifold, an EGR valve that is allowing too much flow.
If it is hard to pinpoint take some brake cleaner or starting fluid around the intake manifold and vacuum lines and see if the engine stumbles or if the idle is affected. Be extremely careful when doing this!
Also, your throttle body may be carboned up and need to be cleaned! This can cause all sorts of idle and hesitation problems. This is caused by the throttle plate not seating properly. The First thing i would do is clean out the throttle body with some throttle plate and intake cleaner and a small brush. Another common cause would be the Idle Air Control motor. This is very common on older cars. The IAC motor gets lazy and cant keep up with the fast idle changes. When the IAC motor is out, I rec to check the passages for carbon build up. If they are plugged they need to be cleaned out.
Check for the following conditions:
Poor connection at PCM or IAC motor. Inspect harness connectors for backed out terminals, improper mating, broken locks, improperly formed or damaged terminals, and poor terminal to wire connection.
Damaged harness. Inspect the wiring harness for damage.
Restricted air intake system. Check for a possible collapsed air intake duct, restricted air filter element, or foreign objects blocking the air intake system.
Throttle body. Check for objects blocking the IAC passage or throttle bore, excessive deposits in the IAC passage and on the IAC pintle, and excessive deposits in the throttle bore and on the throttle plate. Check for a sticking throttle plate. Also inspect the IAC passage for deposits or objects which will not allow the IAC pintle to fully extend.
Vacuum leak. Check for a condition that causes a vacuum leak, such as disconnected or damaged hoses, leaks at EGR valve and EGR pipe to intake manifold, leaks at throttle body, faulty or incorrectly installed PCV valve, leaks at intake manifold brake booster hose disconnected, oil filler cap, oil level indicator loose or missing, etc..