This should work:
as.POSIXct(as.numeric("1399279910.87737"), origin="1970-01-01")
The difference ought to be because of the rounding in the string representation. You could try playing with origin
to make it match if the difference of a few seconds is a problem.