Is it possible to use a simple diode and pullup resistor to level shift down in one direction?
If the signal is traveling from left to right, 5V FTDI output to 3.3V ESP8266 input, then when the FTDI output is LOW, the input to the micro will have a diode drop added to the FTDI LOW output voltage. If the FTDI LOW is at \$100mV\$, then you might expect to add another \$600mV - 700mV\$ to that. You need to check your ESP8266 input specifications to see if the worst case \$800mV\$ still qualifies as a LOW input. Looking at them, I see that the max is \$0.25\cdot V_{cc} = 825mV\$. Which is too close for a lot of comfort. The diode may itself may be on the lower end, though. So perhaps there is a little margin there. It's not a lot, though.

EDIT: Since you have gone the direction of the BSS138, let's drop in a schematic for it and explain it a bit:







simulate this circuit &ndash; Schematic created using CircuitLab

I've added three schematics here using the BSS138 and taken from what you will find on google images, but where I reversed the voltage assignments so that it goes from \$5V\$ to \$3.3V\$. I'd added the NMOS body diode, because it is important. (These circuits are really designed to work from 3.3V to 5V!) The top schematic is the modified version. The lower two below it show what happens when the FTDI driver is driving \$0V\$ in the first instance (left schematic) and is driving \$5V\$ in the second instance (right schematic.) Note that there is a bit of a problem?

Most 3.3V inputs (and I'd guess this is true for the ESP8266) have protection diodes which appear as shown for the very rightmost schematic above. So a fix would be to put a series resistor from the NMOS drain to the input pin. This resistor would have to be large enough to limit the current into the protection diodes to meet the specifications (which are almost always \$\le 2mA\$.) In this case, you might choose \$\frac{4.4V-3.3V-600mV}{500\mu A}=1k\Omega\$.

But then the question is... why not just use the resistor and depend upon your protection diodes??

Well, this is often done when going from \$5V\$ to \$3.3V\$. You go read the datasheet, find out the protection diode limits (I wasn't able to find it there), and then compute an appropriate resistor. In this case, I'd probably assume that \$500\mu A\$ is the most I'd be willing to try, given no data, and probably settle on a trial value of \$200\mu A\$ to see how well it works. So in this case, I'd just try a resistor value of \$\frac{5V-3.3V-600mV}{200\mu A}=5.5k\Omega\$ and decide to use either a \$4.7k\Omega\$ or a \$5.6k\Omega\$ for the 3.3V input to the micro, depending upon the protection diodes to do their work.

Or, if you want, you could get yourself a BAV99 and use that externally -- on the idea that you don't want to depend upon the internal protection diodes. If you do this, you might try the last circuit in the bottom right corner of the schematics above.