Sam has certainly proven himself a capable member of the Avengers and a worthy hero to pick up the shield, but it's never explained why Steve gave Falcon the shield over the Winter Soldier. Bucky gives Sam a reassuring nod and everyone moves on with their lives.
However, Steve gives the iconic shield to Sam, while Bucky is awkwardly standing right there. And, since Bucky already has some of the superhuman powers as Steve Rogers, it would be a pretty fine decision. It's a somewhat surprising choice, considering Bucky was long presumed to be the next iteration of Captain America, as he does in the comics.