Morgan was injured with less than four minutes remaining in Sunday's 48-3 win over Tampa Bay when he was dragged down awkwardly at the end of a play.
He had to be carried off the field, unable to put any pressure on the leg, and was carted into the locker room.
"Josh is going to be out for an extended time, longer than we anticipated and longer than we hoped and longer than we can afford to have him out," said Harbaugh.
Morgan, 26, is in his fourth NFL season, all with he 49ers. He has 15 catches for 220 yards and a touchdown this year.
"I just feel sick for him and for our team. There's nobody you can afford to lose," Harbaugh said. "I feel bad for him and I feel bad for us. That's a tough loss for us."
The coach said it's "a hope" to have Morgan back sometime later this season, or even in the playoffs if the 4-1 49ers make it that far.