Next time you get the hesitation & flashing light, drive it a LITTLE longer so the computer has time to identify the cylinder(s) that are misfiring. Obviously, if the symptoms seem even SLIGHTLY different, then you might have another more serious problem, and you should stop.
In the meantime, get a cheap spark tester, set it for ~27kV and see if each spark plug wire throws a nice steady spark for a few seconds at idle. If any of them sound intermittent, it indicates a bad coil or wire.
If they're all smooth, try to get a cheap vacuum gauge & hook it to the intake (the R PCV nipple on the plenum is usually the best spot) & run it so you can see it while driving. When traffic permits, put it in 2 and run it up to ~4,000 RPM for a second or two, then drop it into D and try to hold the pedal steady so the needle shows 5" of vacuum. If the needle bounces, you need a valve job.