Smart contracts are a very generic concept. NFTs are a smart contract design pattern. They typically employ standardized smart contracts (e.g. ERC-721, ERC-1155) so that services can be built to interface with any standard NFT contract. But it's also possible to make custom smart contracts to manage non-fungible digital assets.