What should I play in this BvN endgame position? [Black "DrZ214"]
[fen "8/5p2/6k1/3KP3/6Np/8/8/b7 b - - 0 1"]

1... f5 2.Nh2 f4 3.e6 Kf6 4.Kd6 Be5 5.Kd7


Note: The board is from black's perspective. Black to move.

I was black and lost this endgame, starting with 1...f5. I thought it would be good to push the pawn and gain a tempo against his knight. I calculated that if he played en-passant (2.exf6), I would take his pawn with my bishop (2...Bxf6), 3. Nxf6 Kxf6, then his king would get up ahead of my pawn and it would be a draw.

He played 2.Nh2 instead, blocking my edge pawn. Then I played 2...f4 3. e6 Kf6 4. Kd6 Be5+ 5. Kd7, and I could tell I couldn't stop his pawn anymore. My darn bishop did not have enough room to get on a diagonal attacking e7.

Sorry I don't have full game record. We just take photos at the end of the game, and at interesting positions that we feel are pivotal, like this one.

So in hindsight, I could have tried a few other things like Kg5 or even Kf5, or else Bc3 to make some room for it. Even f6 might work? I feel like I should have at least been able to draw. Is there a winning move?

I tried entering this into some on-line tablebases, but it's a 7-piece endgame and they apparently aren't freely available.
The 7 man tablebase (for which there is a free android app) says that the position is won for black and it says it is mate in 21 moves (with perfect play from both sides) after 1... Kg5 which is the only winning move.

To me this seems like the most logical move in the position. There is no danger of the white pawn queening anytime soon and Kg5 will attack the knight which will be forced to retreat to h2 or f2 trying to stop the h pawn. Knights are particularly bad at preventing h/a file pawns from advancing as the knights can easily run out of space on the side of the board. And with the white king far away you should have good chances to achieve this. Note that 1... Kf5 or Kh5 which would also attack the knight are not immediately as attractive as they run into potential checks by the knight (in a real game you should still consider these options of course). 

After 1... Kg5 2. Nh2 or Nf2, black plays 2....Kf5 which (i) blocks the white king from helping the knight, (ii) prevents white from playing e6, (iii) eventually wins the pawn on e5 (e.g. if white play 2. Nh2 Kf5 3. Nf3 h3 and black has the tactics of Bxe5, Nxe5, h2).

Your approach (1...f5) does not make much sense from a practical point of view. Either you are playing for a draw, in which you could easily force it by 1...Bxe5; and white does not have sufficient mating material. Or you play for a win, but then 1...f5 does not make sense either as white can (at least) capture the pawn en passant which will basically force you to exchange bishop for knight on f6 after which the white king is just in time to catch the h pawn (i.e. to reach the square h1). So it would be a poor winning attempt with added risk of losing. Generally if you want to win such endgames it is better to keep as many pawns on the board as possible. This is even more important in this example where you have the wrong bishop for the h-pawn: i.e. you could not win king + bishop + h-pawn against the bare king as long as the white king makes it to h1 in time.