In theory, I think that it might be possible to get a rough estimate (but probably not any closer that +/- a few hundred miles) if you know the exact date and time the image was taken. You could do even better if you had stars in the background that you could see in the image (which isn't going to be very likely as the Moon is so bright and the exposure times are going to be too short to capture stars). In practice, I think it would be very, very difficult.
Here is how it would work. At any given time the Moon is presenting a certain face to the Earth and Sun. This is different for any given day an time because of the elipticity and inclination of the Earth's orbit around the Sun and the Moon's orbit around the Earth and the rotational speed of the Moon. This is called 'libration' (see BradC's answer). Over the course of time we can actually see about 59% of the lunar surface due to these variations. So first you have to know exactly what portion of the Moon's face is towards the Earth when the picture was taken, no small feat in itself.
As a reference you would use the image you would see if you were at the sub-lunar point on the Earth. This is the point on the earth directly between the Moon and the Earth at the time of the photograph. The location of this point also depends on the time and day of the photograph.
From there look for what part of the moon is visible in the photograph. If the photograph was taken from a point south of the sub-lunar point, you'll see a bit more of the south pole of the Moon. Conversely if it was taken from north of the sub-lunar point you'll see a bit more of the north polar regions. You then do the same thing for the east (or west depending of the phase) limb of the moon that you can see. These variations are going to be very, very small.
Depending on how much "around the limb" you can see in each direction, this gives you an offset from the sub-lunar point from which you can determine the position of the photographer.
The amount of "extra" moon you can see is going to be very small and the best accuracy you can achieve will probably depend on the resolution of the image. Higher resolution images will give you better results. I have no idea how accurate it would be that that would be the method to do the calculation.
Now if you had stars in the image as well as the Moon, you could do even better. Given a good sky atlas and the date and time of the observation, you could match up the starfield behind the Moon. Again depending on the resolution of the image and how accurately you could measure stellar positions, you could then determine where on the Earth you would have to be at that time to have the Moon exactly in that position relative to the background stars. If you moved a little in any direction, the Moon would move relative to the background stars so this would constrain you quite a bit.
I don't know of any programs that would do this for you. The information exists, and you could work it out, but it might be easier to just send the photographer an e-mail and ask them where they were when they took the picture. :) That would probably be more accurate in any case.