I understand that they are much better, but are they good enough yet that they can always win (i.e. never draw) against a GM? If not, how far away might this situation be?
TL;DR - that ship has sailed.
EDIT - one user claims quite rightly that the ELOs between different populations should not be compared. And by different populations, he means FIDE ELO and whatever ELO the chess engine people are using. He is correct. Therefor, we cannot say that a 2800 ELO is the same as a 2800 other-ELO. But in the current case, we do have enough information to know that the other-ELO are in the ballpark. Giving the paucity of information available, what follows is my best guess.
Bear in mind that there have been few ratable games between humans and chess engines. Comparing ELOs is fraught with peril. That being said...
The best engines on non-customized but stout hardware are rated well above Magnus. Stockfish and Komodo are estimated to play with the strength of a 3381 player. At his peak, Magnus Carlsen achieved a rating of 2882, the highest rating ever achieved by a human.
The way ELO works is that a 400 point ratings difference means the lower rated player has virtually no chance of winning the game.
The difference between the current Stockfish rating and peak-Magnus' rating is 499 points, well over the 400 point limit.
When Kasparov lost a match to a computer (the first) he wasn't hailed as the Heroic Defender of the Realm. It hurt his reputation to a degree. Engines are far better now even on non-custom hardware. Professionals have little incentive to play them. And engines are no fun to play.
I think it is fair to say that Magnus would have no chance of winning a tournament-type match against the best Stockfish or Komodo implementations.
For this reason, while we can't know for sure, but the time has probably already arrived - only a fluke would save Magnus from losing every game. And bear in mind, this is on commercial-commodity, not custom, hardware. (Deep Blue, the machine that beat Kasparov, was on corporate-sponsored custom hardware, as a comparison.)
Remember, these ratings should probably not be directly compared to FIDE ELO ratings.
Fun fact! According to this page, in 2009, a cell phone achieved a rating of 2898 (higher than Magnus' highest), against humans, at a FIDE category 6 tournament. Had it been human, it would have received a "GM norm".
And according to this page, in 2007 and 2008, there were a few human-engine matches, and Rybka gave odds (eg pawn-and-move) to the human. A 2700-ish player won these matches but it was not a slaughter. The player lost a normal (non-odds) match to Rybka. The best Rybka engine is currently rated as the 15th strongest engine.
Chess engines increase in playing strength each year.
This is partly due to the increase in processing power that enables calculations to be made to ever greater depths in a given time. In addition, programming techniques have improved, enabling the engines to be more selective in the lines that they analyze and to acquire a better positional understanding.
According to one survey, the top engines have been increasing in strength by an average of 67 Elo per year since 1986.
Current Computer Engine ELO Ratings
Highest Ratings Achieved by Humans
As you can see, there is a substantial difference in the top ratings of Man, and Machine.
To answer your question:
Are the best engines good enough that they will always win against the best humans?
Most of the time, yes. Though sometimes they will draw.