I got it to work, sort of. I went back in to the router software and re-entered the port forwarding and opened the firewall for the ports.
Then I went into my PCs firewall and created new rules. I entered the ports for both tcp and udp, incoming and outgoing, and checked all the boxes for public and private (previously I had only private checked).
I deleted all the instances of Need for Speed World in the list and re-entered Need for Speed World into the list and checked public and private (previously I had only private checked).
I was able to connect my husband's PC to the server running on my PC. I tried joining both PCs to a sprint. He joined multi-player and then I joined the same multi-player. We could see each other in the race lobby but once the race started, we were invisible to each other and neither one of us saw the other one finish the race, it was like we were in there alone.
At least I could get him connected to my server. Now to figure out how to see each other.
Update
This time I initiated the multi-player sprint race on the host PC and then had my husband join it. We were able to see each other and the chat worked. The problem is we could not see each others car moving. I finished the race. He still sees my car sitting at the start. Once I hit "next" and returned to free roam, he got a message saying "Lost connection to all players, race aborted".