Could be a bad coil or worn or fouled plugs or wires. It could also be a fuel pressure issue, sticking injector, or sticking lifter. A good garage can put it on a diagnostic tester and check to see what's going on. A sticking or weak injector won't necessarily throw a code right away. I would definitely get it diagnosed before throwing a lot of money at it.
One thing you can do that's free is to go out after dark and look under the hood with the engine idling. Look for arching near the plugs. It indicates bad plug wires.