Multisite Sub domains not working

Do I have to create sub domain all the time in my cpanel before creating new website (sub domain) in WordPress?

You need to make sure that the subdomains are created somewhere. WordPress doesn’t have the capability to create DNS entries for you.

If you’ve got WordPress set up on example.com and you want to create site1.example.com, site2.example.com, etc., you need to ensure that the DNS entries for site1.example.com, site2.example.com, etc., are active.

Depending on your hosting situation, you might be able to create wildcard subdomains, meaning that you can add *.example.com to your DNS entries, which would allow you to point anything ending in .example.com to your Multisite installation. This is something you’ll need to research with your hosting company, though, and not something we can guide you through here.

Codex: Before You Create a Network » Domain-based