You should use the unhide-tcp tool :
unhide-tcp is a forensic tool that identifies TCP/UDP ports that are listening but are not listed in /bin/netstat through brute forcing of all TCP/UDP ports available.
To install it open the terminal and type the follwing command:
sudo apt-get install unhide
To scan run:
unhide-tcp
Why doesn't nmap show all open ports?
According toThe question states that nmap.org:-p- option is used. So it must have another reason.
By default, Nmap scans the most common 1,000 ports for each protocol.