The total number of outcomes is given by the number of derangements where only the last person can get their original gift. The specific outcomes are where the last person does get their original gift. We will use Derangement Numbers to calculate. I came close in my previous post, but I was still wrong. Here, I actually figure it out.

For the count of the numerator, we know the last person gets his own gift, so we assign that. That leaves 11 gifts to permute, but no person can get their own gift. That is the number of derangements of 11 people: \(\displaystyle D_{11} = !11\).

For the denominator, we can have that the last person gets his own gift, but none of the other people do, or no one gets their own gift. That is \(\displaystyle D_{11}+D_{12} = !11+!12\).

So, the probability that the last person receives his own gift is:

\(\displaystyle \dfrac{!11}{!11+!12} = \dfrac{14684570}{190899411}\)

Wolfram|Alpha: Computational Knowledge Engine
This assumes that outcomes are equally likely which I did not calculate to see if it is true or not. This is the probability that of all of the possible outcomes being equally likely that the outcome you are considering occurs.

Edit: I just ran it through a simulation 1000 times, and it gave me 8.7% chance of the last person getting his own gift. Next 1000 tries gave 7.5% chance. I think my calculation is correct this time.