Hint, which my course on (Lebesgue) measure theory exploited at every opportunity:
$$
\sum_{k \geq 1}\frac{1}{2^k} = 1
$$
and intuitively: if you have or construct countably many sets with measures being sufficiently small, their union will be of finite measure (and possibly as small as you want, depending on the problem).
Concretely,
Take an enumeration of $\mathbb{Q} = \{q_n\}_{n \geq1 }$ and an interval of length $\frac{\varepsilon}{2^k}$ around $q_k$ for each $k$, $I_k = B_{q_k}(\frac{\varepsilon}{2^k})$. Now, $\mu(\bigcup I_k) \leq \sum_{k}\mu(I_k) = \varepsilon$.
Another hint: think about how the (standard) proof of $\mu(\mathcal{C}) = 0$ with $\mathcal{C} \subset [0,1]$ the (standard) Cantor set goes. Changing the proportions of the amount of subdivision and intervals considered, can you come up with sets of positive (small) measure? What about their density or lack thereof?
Edit: about the last item, as mentioned in the comments, the complement of the set will $E$ will have measure zero. At the same time, it will have a dense (hence non empty) interior. Can you see the contradiction here? Spoiler below,
Note that since the complement has non empty interior, it contains some open interval, which in particular has positive measure. That bounds the total measure from below (which was zero), thus reaching a contradiction.
Best Answer
Answer to the title question: Yes! There exists such a function. For example, consider the function $$f(x)=\frac{d(x,A)}{d(x,A)+d(x,B)}$$ where $A$ is the fat cantor set in $[0,1]$ and $B$ is any closed singleton set $\{b\}$ where $b \notin A$. Then $f$ is continuous whose zero set is $A$, which is nowhere dense in $[0,1]$ of positive measure!
Edit: The function $x \mapsto d(x,A)$ alone works.