I've assembled a known E. coli genome only using nanopore reads. I want to check if the genes predicted matches the ground truth. I tried Prokka but it predicts way too many CDS (~10000). Although most of them are 'hypothetical proteins' so I'm guessing those are false positive ORFs caused by frameshifts as a result of nanopore's systemic indel errors. 

Are there programs that work well specifically with nanopore erros in mind? Glimmer and GeneMark both have long histories but I'm guessing they're optimized for short reads.
Basically what you got is a very bad assembly, and there's no reason to look at gene predictions. There are two possible things you can do here

- if you want a good assembly, you also need to polish yours with Illumina reads (or do a hybrid assembly with e.g. Unicycler) - that would ensure you have the least errors; 
- if you just want to get the idea which genes are present, take a reliable protein database (e.g. 18k well curated proteins used by Prokka) and run tblastn on your genome assembly. You won't be able to distinguish genes/pseudogenes, but otherwise you'll get a pretty good idea about gene presence/absence. 