Is $F'_k(x) = F_k(x) \oplus k$ a pseudo random function? Let $F_k$ be a pseudo random function.
Is $F'_k(x) = F_k(x) \oplus k$ necessarily a pseudo random function?

I think that it is a PRF, but I just can't find a reduction that works with it.
You won't be able to find a reduction since you need somehow to XOR $k$ with the output you would get from oracle queries to the PRF, and you can't do this. In fact, the answer is that this is not necessarily a PRF, meaning that I can build a (convoluted) PRF $F$ such that $F'$ is not a PRF.

Specifically, let $\tilde F$ be any PRF and define $F_k(x) = \tilde F_k(x)$ for every $x\neq \tilde F_k(0)\oplus k$, and define $F_k(x) = 0$ for $x = \tilde F_k(0)\oplus k$. I argue that if $\tilde F$ is a PRF then so is $F$. This is because the probability that the adversary $\cal A$ will be able to query $F$ on $\tilde F_k(0)\oplus k$ is negligible. Formally you can show this by constructing a distinguisher $D$ who has oracle access to either $\tilde F$ or a random $f$ and runs $\cal A$. Then, $D$ queries its oracle on $0$ and gets back a value (if it has $\tilde F$ then it will get back $z=\tilde F_k(0)$). Then, for every query $y$ that is made by $\cal A$, distinguisher $D$ computes $k' = y \oplus z$ and locally checks if this defines the function it has oracle access to. If it has $\tilde F$ and $\cal A$ makes this query, then $D$ will know it has $\tilde F$.

Now, given the above, observe that if we construct $F'$ from this $F$, then we can query $F'$ with $0$ and get back $y=\tilde F_k(0)\oplus k$. We can then query $F'$ again with $y$ and we will get back $F'_k(y) = F_k(\tilde F_k(0)\oplus k)) \oplus k = 0 \oplus k = k$, and so we have the key.