For starters, changing the sending mail address is not necessarily "faking". You may simply change the address from one address that is yours to another that is also yours.
But, to answer your question - neither SMTP nor the message format gives you that possibility. Pretty much every piece of spam mail that you get has both an envelope sender and a From:-header that has nothing to do with who actually sent the mail.
Some email providers, e.g. gmail, will do their best to verify that you are not using a From:-header that does not belong to you. But even when they do that, if someone else can get at your gmail account, they will also be able to send mail using those headers, even though they are not you. It's also possible to verify that the domain name in the envelope sender address matches the server from which the mail was sent, by using e.g. DKIM. But it's far from universally adopted.
The way to certify a sender is to use e.g. GPG to sign the message cryptographically.