<span class="new badge" data-badge-caption="custom caption">4</span>
This is still getting me "4 new" instead of "4 custom caption".
I'm using materialize version 0.97.6
Find the fiddle https://jsfiddle.net/x8w11aa0/
Did you load the materialize.js file?
It seems to be working for me here: https://jsfiddle.net/xpoh33m6/1/ using the same code as you:
<nav>
<span class="new badge" data-badge-caption="custom caption">4</span>
</nav>
Edit: Your code is working with v0.97.7
but not v0.97.6
(this feature was possibly only just introduced in v0.97.7
)