The way you formalised it, the answer is “yes”, but for way less trivial reasons than one might expect.
Let $x=\frac pq$ and $\epsilon$ be given. Then $\frac an$ is a valid (=in shortest terms and within $\epsilon$) approximation for $x$ iff $\frac{a-kn}n$ is a valid approximation for $x-k$, $k\in \Bbb Z$. Therefore, wlog $0\le x<1$, i.e., $0\le p<q$.
Under certain circumstances, let us replace $x$ and $\epsilon$ with “better” $x’$ and $\epsilon’$ with $0<x’<1$ and $(x’-\epsilon’, x’+\epsilon’)\subseteq (x-\epsilon,x+\epsilon)$. Then a valid approximation for $x’$ is also a valid approximation for $x$. Obviously, it suffices to specify suitable $x’$ with $x<x’<\min\{1,x+\epsilon\}$ as $\epsilon’=\epsilon +x-x’$ will work.
- If $p=0$ (i.e., $x=0$), pick $k>\frac1\epsilon$ and let $x’=\frac2{2k+1}$.
- If $p=1$, then $q\ge2$. Pick $k>\max\{q(q-1),\frac1\epsilon\}$ and let $x^\prime=x+\frac1k=\frac{q+k}{qk}$ (not necessarily in shortest terms). Then indeed $x<x^\prime<x+\epsilon$ and $q>\frac1{x^\prime}>\frac1{\frac1q+\frac1{q(q-1)}}=q-1$ so that the numerator of $x^\prime$ is $>1$ (and also $x^\prime<1$).
By this, we may assume wlog that $p\ge2$. Then $\frac1x$ is between two naturals, $k<\frac1x<k+1$. Then we may assume wlog that $\frac1{k+1}<x-\epsilon<x+\epsilon<\frac1k$.
In particular, our $\epsilon$-interval now contains no number with numerator $1$.
Let $\delta=\frac\epsilon x>0$. By the Prime Number Theorem, there exists $m_0$ such that for all $m\ge m_0$, there exists a prime between $m$ and $(1+\delta)m$.
Pick $N>\max\{\frac {m_0}x,\frac1\epsilon\}$.
We want to show that for every $n\ge N$, there exists a valid approximation with denominator $n$:
Let $n\ge N$ and set $m=\lfloor xn\rfloor$. Then $m\ge m_0$ and there exists a prime $a$ between $m$ and $(1+\delta)m$.
Then $x-\epsilon<x-\frac1n\le\frac an<(1+\delta)x=x+\epsilon$, as desired.
If $\frac an$ is not in lowest terms, we can cancel the prime $a$ completely and end up with a reciprocal of a natural, which cannot be in our $\epsilon$-interval. Hence $\frac an$ is in lowest term as desired, thus completing the proof.