It could also be a short term fuel trim out of tolerance from a lazy sensor or fuel pressure fluctuations.
The above responses are correct. Instead of throwing parts at it to guess what the problem may be, scan it for pending/history codes and the data streams associated with them. That should narrow down the possibilities.