One for the experts

Usually its plugs, loose crank bolt or an air leak somewhere that will set a missfire code. Coils are a possibility also.
Check the crank bolt first, then go on to look for air leaks. To tell if it has an air leak, have the long term adaptive checked (any dealer or friend with auto tap, raptor or xcal2 can do this) if it is more than +\- 6% you have a problem.
Then if that isnt it, check the plugs and then check the coils. Change 1 coil at a time until it doesnt set the code any more. (just use 1 or 2 new coils and move them around)
 
Update:

Bought an SCT Xcal 2 and right before New Years, I read the codes, flashed the car with a Crown vic tune, then turned it back to stock. Haven't had the light come back on yet (knock on wood). Even the P1000 code went away. My gas mileage still isn't as good as it used to be, but did come back up some. I need to do some datalogging to see if maybe I still have some misfiring that is staying under the limit for the light to come on. I just find it strange that flashing the car helped me out so far.