It looks like it is only the taxonomy name, everything else (post type slug, taxonomy value slug) can use a hyphen.
I have a custom post type named nt-novels, that works, as well as taxonomy values like suspense-thriller that also work.
But if I change my taxonomy name genres to genres-01 it break. genres_01 works.