Firstly, notice that $2016^{P(n)} + Q(n)$ is always a positive integer for all $n \in \mathbb{N}.$ Suppose that the set of primes $p$ as described is actually finite, say it is $\{p_1, p_2, \cdots, p_k\}.$ By Dirichlet's Theorem, there exists infinitely many primes $p$ which are congruent to $1$ modulo $\prod_{i=1}^{k} p_i^{v_{p_i}(x_1) + 1} \cdot (p_i -1).$ This then gives us that $x_p \equiv x_1$ (mod $\prod_{i=1}^{k} p_i^{v_{p_i}(x_1) + 1}$), which implies that $x_p = x_1$. Let's select primes $q_1, q_2, \cdots$ which satisfy $x_{q_i} = x_1,$ where there are infinitely many as guaranteed by Dirichlet. Now, since $0 \le P(q_i) \le \log_{2016} (x_1),$ we have by infinite Pigeonhole that there are infinitely many of the $q_i$'s which all evaluate to the same number under $P$. However, this contradicts the fact that $P$ is nonconstant, so we're done.
$\square$