You need more than a job offer to obain a work permit. Your employer must also obtain an approved LMO (labour market opinion). As part of this process, the employer must advertise the job and prove they were unable to find a Canadian citizen or PR to hire for the role. Because this process takes time and there's no guarantee of approval, many employers are hesitant to consider foreign candidates for open positions.
So the short answer to your question is: You need a job offer and also an approved LMO to apply for a work permit. It is difficult to find employers who are willing to go through the LMO process - but you can certainly try.