This could be a defective Idle Air Valve that is sticking, which is very very common on these engines. The car will idle close to normal when it is hot but will stall a lot when cold. If is was a vacuum leak, it would run better cold than hot because of the richer mixture. This is where I would focus my inspection.
If it is an Idle Air Valve, the part is about $335 and takes about 1 hour to install, be sure to get a new Throttle Body Gasket as well.