While I am not sure of the motivation for what you are trying to accomplish it sounds like you are trying to save the command $em_result so that you can run when you want. So that way, you are not saving the point in time result but rather every time you call it the result will be from that time.
Like Tony Hinkle answered you need to save the command as a string. However there is more to escape than just the quotes. The pipeline variable $_ would also come into play. As it stands a simple here-string would make it so you don't have to worry about escaping anything.
$em_result = @'
gc 'C:\Users\mtmachadost\Desktop\Test\logError.txt' | ?{$_ -match 'cajica11'} | %{($_ -split "\s+")[3]} | Measure -Sum | Select -Exp Sum
'@
Now you could call this string and get the results
Write-Host "`$em_result = $(Invoke-Expression $em_result)"
I guess you were trying to use the backtick pair like and escape quote pair which made me think this is what you wanted. Backtick will only escape the one following character. Invoke-Expression will execute the string we pass it as code.
gc C:\Users\mtmachadost\Desktop\Test\logError.txt | ?{$_ -match 'cajica11'} | %{($_ -split "\s+")[3]} | Measure -Sum | Select -Exp Sum'does that output anything? If not, then $em_result will not have anything, and you need to change the question to reflect that you need help with the command