You'll find instructions for installing the controller from the Helm repo here:
https://kubernetes.github.io/ingress-nginx/deploy/#using-helm
The Helm CLI uses the same namespace arguments as Kubectl, and for the install command you can set it to create the namespace if it doesn't exist.
Need more? Here's the solution.