There is a pretty big list that it could be. If you can use a scan tool that has data logger you could trim the list down on iac counts ect.
Check and see if running a different chip, throttle body, fuel pump and the last time the vac lines, plugs and cap/rotor have been changed.