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.
Check the below link for details
http://www.scotiabank.com/ca/en/0,,6194,00.html
The other option is getting a demand draft made in your name. Once you open an account in Canada it can be encashed.