There is no single culprit of high gas prices. It's actually a very intricate microcosm.
OPEC does determine the number of barrels that pumped and sent from the Middle East. But that is only one part of the issue. It's actually sort of a self fueling problem.
When energy prices are higher it costs more to ship the oil (which in turn increases the price of gas indirectly). Then as business taxes are increased the oil companies must raise prices to cover their costs. The same thing happens every time minimum wage is increased. There are also seasonal cycles. Before summer oil refining is cut back to do regular maintenance on equipment, this is done to prepare for the summer rush.
Then there is the issue of demand. There was a lot more demand this time two years ago then there is now. Some of the reasons include the increase of fuel efficient vehicles on the road, higher unemployment so that many people aren't driving to work every day, and a lot of people are cutting back on costs which means less vehicle travel. So as a nation we are consuming less than before which means that costs will go down.
Then there is a matter of state and federal taxes. The state and federal government make more money per gallon then the gas companies. Cutting local taxes would cause a dramatic difference in the price per gallon. The taxes you pay per gallon should be listed at the gas station somewhere. The federal government takes something like 18 cents per gallon and the state and local taxes are generally much higher (25-30 cents per gallon).
But there is one other thing to consider. Not all our oil comes from the Middle East. Canada and Mexico are the other two major oil sources. Any variation in the amount of oil they import could have a noticeable affect on our gas prices.