I had the same symptoms and it was the failing of the cat convertor or y pipe. As they fail they will start to plug the opening ending up with a lot of engine backpressure causing a miss fire every time. Get a scan tool or go by a shop with one and see what trouble code is triggering the check engine light. The misfire I had originated from the drivers coilpack wires with the insulation rubbed off. Every time is started running back I wiggled the wires going to the coil packs and it would kick back to running smooth. That electrical problem caused unburned fuel to deposit in the exhaust and foul out the convertor. There can be a lot of causes but if you see what codes are being thrown, you aleast know where to focus. I felt so stupid when I couldn't figure out why my truck ran like butt and the exhaust was the problem and I had not even thought of it because it was a misfire. KISS-keep it simple stupid.