Yes, you can certainly do this, and streams would be the easiest way. The latest version of MultiChain supports up to 64 MB of arbitrary data storage per transaction, including in stream items.
But to store a file of that size, you will need to start a blockchain with some larger parameters than the defaults, which limit the size of individual items to 2 MB. Take a look at the max-std-tx-size, max-std-op-return-size and maximum-block-size blockchain parameters: http://www.multichain.com/developers/blockchain-parameters/
Note that, depending on the maxshowndata runtime parameter, MultiChain will not give you the entire file contents when using the stream APIs. But it will pass you values that you can then pass to gettxoutdata, to get the file in part or in full.