I think this is a counter-example.
Let $C$ be a cantor set of positive measure, so $C$ is nowhere dense, perfect and is the countable decreasing intersection of sets $C_{n}$ each of which are a finite union of closed disjoint intervals in $[0,1]$.
Let $f(x)=\int_{0}^{x}\chi_{C}(t)\mbox{ }dt,$ so $f$ is certainly absolutely continuous.
Assuming I did this right $f(C)$ contains $[0,m(c)).$ Consider each $C_{n},$ since $f$ is increasing and continuous $f([0,1])$ contains $[0,m(C)].$ Also $[0,1]\setminus C_{n}$ is a union of open intervals each of which are in the compliment of $C$ so it follows that $f$ is constant on each such interval. Since $f([0,1])=[0,m(C)]$ it follows that for any $x\in [0,m(C))$ we can find $t\in C_{n}$ so that $f(t)=x.$ Indeed we already know we can do this with $t\in [0,1]$ but since $f$ is constant on the intervals in the complement of $C_{n}$ we can force $t\in C_{n}$ (for instance if $x$ is in some interval $I$ in $[0,1]\setminus C_{n}$ then its left endpoint is in $C_{n}$ and since $f$ is constant on $I$ we have that $f$ has the same value at the left-endpoint of $I$ as on $I$.)
Now fix $y\in [0,m(C)).$ Since $\lbrace x\in C_{n}:f(x)=y\rbrace$ is non-empty and these sets are decreasing, (since the $C_{n}$ are decreasing) by compactness we can find $x\in C$ so that $f(x)=y.$ Thus $f(C)=[0,m(C))$ and we have found a nowhere dense set which is mapped to a set which is not nowhere dense.
It is a theorem due to Blumberg (New Properties of All Real Functions - Trans. AMS (1922)) and a topological space $X$ such that every real valued function admits a dense set on which it is continuous is sometimes called a Blumberg space.
Moreover, in Bredford & Goffman, Metric Spaces in which Blumberg's Theorem Holds, Proc. AMS (1960) you can find the proof that a metric space is Blumberg iff it's a Baire space.
Best Answer
Here's a semi-explicit construction for a smooth function f that is zero precisely on the classical Cantor set. By this set I mean the one that is obtained from $I_0 = [0,1]$ by repeatedly removing the middle third of any ensuing interval. So let's denote by $I_n$ the $n$-th set in this process.
Now let's make a smooth function $f_n$ on $[0,1]$ such that its zero set is exactly $I_n$. Starting with $f_0 = 0$ we obtain $f_{n+1}$ from $f_n$ as follows:
Set $f_{n+1} = f_n$ on $I_{n+1}$ and on an interval that is removed from $I_n$ make $f_{n+1}$ equal to a bump function that is 0 only at the boundary of the interval. We can choose the bump function to be of height $2^{-2^n}$.
This choice of heights of the bump functions will ensure that the derivatives of $f$ all converge uniformly to their pointwise limits. Hence the limit function $f_n$ is again smooth. By construction its zero set is exactly the Cantor set.