There are two common causes:
1) The Mail app is sending the message to junk as a local (client-side) action
2) Your email provider is sending it to Junk as a server-side action.
For #1 you can set up a rule to insure that the message get to your inbox. See:
Use rules to manage emails you receive in Mail on Mac - Apple Support
That article includes a link to using AppleScript to accomplish the same thing.
Cause #2 has been why I find mail from approved senders in the wrong box. This is harder to fix. My ISP is also my email provider and they have a web-based preference system that allows a lot of filtering and redirect options. I can set up blocks that take out an entire domain, or I can create a "pass" that approves a single address. I've had several senders where I've had to apply this to get their messages to show up.
If you are using a free email service like gmail you will need to ask your provider how to approve a sender.
Less common is something amiss with the sender's email service. You can ask the sender if they are having trouble with other recipients receiving messages.