Define $a_i = f^i(1)$. So the $a_i$ are just $1,f(1),...$. Now, remark that as $f(n) > n$ we have for some sufficiently large $L$ that $a_{i+1} > 10a_i$ for all $i > 1$ if $\deg f > 1$ (this is simply because $a_i$ is unbounded, and the $10$ is just some big number)
Now, it is well known that for a polynomial $f$ we have $(a-b)|(f(a) - f(b))$ for any integers $a,b$. Now, take some $i > L$. Remark that $f(a_i) - a_i > 9a_i$. However, one can easily show using $(a-b)|(f(a)-f(b))$ that we have $f(a_{k}) \equiv a_k \pmod{f(a_i) - a_i}$ whenever $k \ge i$ via induction. Obviously $(f(a_i) - a_i) \nmid a_i$. Thus we have $(f(a_i) - a_i) \nmid a_k$ for any $k \ge i$. Take $k = f(a_i) - a_i$ to get a desired contradiction, as $k$ does not divide $f(1), ..., f(a_{i-1})$ due to $k > f(a_i)$ and the $a_i$ being monotonically increasing.
Thus we are reduced to the degree 1 case, in which Gerry Myerson provides a great proof that $f(n) = n+1$ is the only solution.
BTW, I think this problem is a previous IMO Shortlist Problem or from some country's national olympiad. However, I was unable to determine the source.