Does this begin as soon as the engine reaches operating temperature, and is it consistent?
If so, I'll guess O2 sensor. When the engine is warming up the O2 sensor is ignored and the ECU operates according to a hard-coded, pre-mapped fuel curve. When the engine temperature reaches somewhere around 170 degrees, the ECU switches to "closed loop mode" and starts adjusting the fuel mix according to various data input, including the O2 sensor. If the O2 sensor is weak, it doesn't detect unburned hydrocarbons as effectively as it should, so it allows the engine to run rich.
How old is your O2 sensor? They should be replaced every 75,000 to 80,000 miles.