The converse is false. Consider the function $f(x)=\frac{x^4+x^2}{2}$.
\begin{align}
f(a)-f(b)&=\frac{a^4-b^4+a^2-b^2}{2}\\
&=(a-b)\times\frac{(a+b)(a^2+b^2+1)}{2}
\end{align}
Note that $\frac{(a+b)(a^2+b^2+1)}{2}$ is always an integer, if $a+b$ is even we are done, otherwise, $a,b$ will have different parity, and $a^2,b^2$ will have different parity, hence $a^2+b^2+1$ would be even.
It is also well-known that if $f:\mathbb{Z}\rightarrow\mathbb{Z}$ is a polynomial function, then $f$ must be a sum of binomial coefficients. Specifically, there are integers $\{a_k\}_{k=0}^n$ such that $f(x)=\sum_{k=0}^na_k\binom{x}{k}$.
Note that since every finite list of points $(x_i,y_i)$ can interpolated with a polynomial, the only way we are going to get a non-polynomial is if we consider a function defined on an infinite set of points. Here, we can consider $f(x)=\sum_{0\leq k<|x|}\prod_{-k\leq i\leq k}(x-i)$.
For every restriction $f|_{[-n,n]}$ we see $f|_{[-n,n]}(x)=\sum_{0\leq k<n}\prod_{-k\leq i\leq k}(x-i)$, which is a polynomial. Hence, $a-b|f(a)-f(b)$. However, there is no polynomial $p(x)$ such that $p(x)=f(x)$ for all $x$, since if $\deg(p)=k$, then $f|_{[-2k,2k]}$ is a polynomial of degree $4k-1$, which cannot equal $p(x)$ on $[-k,k]$.