It could just be a dirty idle air control valve (IACV), air cleaner element, or MAP sensor. It could also be a malfunctioning oxygen (O2) sensor. Have your car OBD scanned to pinpoint the problem.