Yes. A bank account can be opened before actually moving to Canada. There are a number of banks which provide this facility Scotiabank, RBC being a few of them. Just check there sites and see if this facility is available in your country.
Once an account has been opened, money can be transferred to it. However, the account would be inactive till the time you do not visit the bank's branch in Canada.
I opened an RBC account before moving to Canada. It's a pretty easy, straightforward process.The only catch is the account is "Deposit only" until you physically go into a branch & they verify your identity. However, if your application is declined, you can obviously get the money back. RBC was also really good about answering questions over the phone or via email.
I tried to contact ScotiaBank & CIBC, and both told me I could open a bank account while not in Canada, but in order to get questions answered I'd have to go into a branch. So pretty unhelpful for me.