Is there a way to get an oil stain off painted drywall?
If it is a lot of oil you may need more than paint.  I would go over the area with something like drylok and let it sit for a week or two.  If nothing comes through then just repaint over the drylok.  If you see any sort of oil coming through - even a tiny bit - then I would skimcoat the area with drywall mud.  Then repaint after that.  I have personally tried to repaint over oil stains totally wasted my time, noticing the same oil coming through a few days later on new paint job.  I am sure this has to do with what kind of oil, how much, and the paints you use (oil based paint will hid this better than latex).