It feels like a dumb question, but is it always the case that a false statement has a counterexample? Is there a proof of it (or of the contrapositive, if it has no counterexample it must be true)?
The idea of counterexample makes sense only for statements that claim that a certain property is held by all members of a given class of objects.
That is, if we have some false claim
For all $m\in S,$ property $p$ holds,
then because it is false it is certain that there is at least some $m\in S$ for which $p$ fails to hold. There's not much more than this to prove. It follows immediately from the conditions.
As the comments have indicated, this isn't a very clear question. The problem lies in what "false" means or what "example" in "counterexample" means or, possibly, what "statement" means? Or I should say what they mean to you.
As others have pointed out, it's not clear what a "counterexample" to a statement like $0=1$ should mean. Most likely, you really mean counterexamples to universal statements like $\forall x.P(x)$ (e.g. $\forall x.x = 0$). Now there's a question of what "example" and, relatedly, what "false" should mean.
Before I go into a more precise and technical perspective, I'll give a kind of "pragmatic" answer. Assuming you mean universal statements like the above, it is not the case that you will be able to write down an explicit counterexample even if you prove that the statement is "false", in the sense that you prove its negation.
Now for the various perspectives that arise from being precise. First, if we define "false" as the negation is provable, so $P$ is "false" iff $\vdash\neg P$ and we define "example" as a term, then the answer is "no". To be precise, we have a formula $\forall x.P(x)$ and we have $\vdash\neg\forall x.P(x)$. Classically, this is equivalent to $\vdash\exists x.\neg P(x)$, but, classically, it does not need to be the case that there exists a term, $t$, in our language such that $\vdash\neg P(t)$ even when we know $\vdash\exists x.\neg P(x)$. This is different for constructive logic where we have the existence property which guarantees that if we can prove a (closed) existential formula, then there is some term that witnesses it. However, the answer to your question is still "no" for constructive logic because $\neg\forall x.P(x)$ is not equivalent to $\exists x.\neg P(x)$ in constructive logic.
Round two. Let's define "false" as semantically false with respect to some model $\mathfrak M$. We then would talk about $\mathfrak M\vDash P$ which states that when we interpret the closed formula $P$ with respect to the model $\mathfrak M$, which I'll write as $[\![P]\!]_\mathfrak M$, then it is interpreted as a "true" value. In general, for an open formula $[\![P]\!]_\mathfrak M$ is the set of (tuples of) elements of the domain that satisfy the interperation of $P$. Given this, it is the case that if $\mathfrak M\vDash\neg \forall x.P(x)$, then there is an element, $c$, of the domain of $\mathfrak M$ such that $c\in[\![\neg P(x)]\!]_\mathfrak M$. To relate this to the first case, it may be the case that there exists no term $t$ such that $[\![t]\!]=c$. With this definition, the answer to your question is "yes" by the definition of the semantics of existential quantification.
Round three. If we define "false" to mean the negation is semantically valid, written $\vDash\neg P$ which is shorthand for $\mathfrak M\vDash\neg P$ for all models $\mathfrak M$, then we can talk about countermodels which is basically a counterexample in the first sense of this meta-theoretic universal statement. That is, we find a model $\mathfrak M$ such that $\mathfrak M\vdash\neg P$ is false (in the sense of the second definition). Now $P$ doesn't itself need to be a universal statement. We can talk about countermodels to the formula $0=1$. This would be a model $\mathfrak M$ such that $[\!\!]_\mathfrak M\neq[\!\!]_\mathfrak M$. With this definition, the answer to your question is "no" but it's almost "yes". We do have a countermodel to $P$ when we know $\vDash\neg P$, any model will do, except if there are no models at all which will happen when your theory is inconsistent.
As a kind of Round two-and-a-half, we could consider defining "false" as $\nvDash P$ which states that $P$ isn't true in every model. It may be true in some but not others. The analysis of this just recapitulates the analysis we just did only at the meta-level. The meta-theory thinks that a countermodel exists in this case, but from a meta-meta-perspective whether we can write down a term to describe that countermodel is not given.